package glug.gui.mousecursor;
import static java.awt.Color.DARK_GRAY;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
public class FineCrosshairMouseCursorFactory {
public Cursor createFineCrosshairMouseCursor() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension bestCursorSize = toolkit.getBestCursorSize(24, 24);
BufferedImage cursorImage = new BufferedImage(bestCursorSize.width,bestCursorSize.height, BufferedImage.TYPE_INT_ARGB);
Point hotSpot = new Point(bestCursorSize.width/2,bestCursorSize.height/2);
Graphics2D graphics = cursorImage.createGraphics();
graphics.translate(hotSpot.x, hotSpot.y);
Color colour = DARK_GRAY;
for (int point=2;point<hotSpot.x;point+=2) {
graphics.setColor(colour);
colour=colour.brighter();
graphics.drawLine(point,-1,point,1);
graphics.drawLine(-1,point,1,point);
graphics.drawLine(-point,-1,-point,1);
graphics.drawLine(-1,-point,1,-point);
}
return toolkit.createCustomCursor(cursorImage,hotSpot,"fine-crosshair");
}
}